(function(window){
	var menu={
	menuObj:{},
	//渲染树形数据
	renderTreeInfo:function(){
		var menuCode = $(this).attr("dataCode");
		if(Menu.menuObj && Menu.menuObj[menuCode]){
			Menu.toggleNode(menuCode);
			return;
		}
		Menu.loadAjax(menuCode, function(menus){
			Menu.menuObj[menuCode] = menus;
			var menuLi = [];
			for(var i=0; i<menus.length; i++){
				menuLi.push('<li><a href="sysMenuAction.do?method=query&parentCode='+menus[i]["menuCode"]+'&menuNode=0" target="menuFrame">'+menus[i]["menuName"]+'</a></li>');
			}
			$("#leaf_"+menuCode).html(menuLi.join(""));
			menuLi = null;
		
			Menu.toggleNode(menuCode);
		});
	},
	//渲染select数据
	renderSelectInfo:function(){
		var menuNode = $("#menuNode").val();
		//菜单节点，只需要配置基本数据
		if(menuNode=="1") {
			return;
		}
		var menuCode = $(this).val();
		if(Menu.menuObj && Menu.menuObj[menuCode]){
			Menu.createOption(Menu.menuObj[menuCode]);
			return;
		}
		Menu.loadAjax(menuCode, function(menus){
			Menu.menuObj[menuCode] = menus;
			Menu.createOption(menus);
		});
	},
	loadAjax:function(menuCode, callBackFunc){
		beginPageLoading();
		ajaxPost("sysMenuAction.do?method=load", "menuCode="+menuCode, function(data){
			endPageLoading();
			if(data["resultCode"] != 0){
				alert("数据加载异常");
				return;
			}
			callBackFunc(data["resultData"]);
		});
	},
	createOption:function(menus){
		var optionLi = [];
		for(var i=0; i<menus.length; i++){
			optionLi.push('<option value="'+menus[i]["menuCode"]+'">'+menus[i]["menuName"]+'</option>');
		}
		$("#parentCode").html(optionLi.join(""));
		optionLi = null;
		$("#parentCodeLi").removeClass("e_hide");
		$("#menuUrl").attr("nullable", "no");
	},
	toggleNode:function(menuCode){
		$("#leaf_"+menuCode).slideToggle();
		$("#node_"+menuCode).toggleClass("current");
	}};
	window.Menu=menu;
})(window);

$(function(){
	// 模块选择下拉
	$(".c_tree .topic i[name=node]").click(Menu.renderTreeInfo);
	
	$("#moduleType").change(Menu.renderSelectInfo);
		
	if($("#parentCodeLi") && $("#parentCodeLi").length){
		if($("#menuNode").val()!="1"){
			$("#parentCodeLi").removeClass("e_hide");
			$("#parentCode").attr("nullable", "no");
		}else{
			$("#parentCodeLi").addClass("e_hide");
			$("#parentCode").attr("nullable", "yes");
		}
			
	}
});


	